Today the Internet provides convenient and ubiquitous access to digital content. Due to the openness of the participating devices (e.g., the PC platform), the use of the Internet as a distribution medium for sensitive content creates the compelling challenge to secure the interests of the content providers. In particular, for the platforms such as the PC or the Android operating system, the user must be assumed to have complete control of the hardware and software that provides access to the content and unlimited amount of time and resources to attack and bypass any content protection mechanisms.
For the uniform execution of applications the internet requires receiving platforms to run a so-called virtual machine (e.g., Java VM). These virtual machines provide an open, uniform, and well documented execution environment. As a consequence, the vulnerability of the internet as a distribution mechanism is amplified since the prevention of reverse engineering of and tampering with applications is difficult.